1. Technical Field
The present invention relates to computer networks, and more particularly to a method and system in an Internet Protocol (IP) network for centralizing Logical Unit (LU) definitions for one or a plurality of TN3270 Servers.
2. Description of the Related Art
SNA and IP Environment
Companies are increasingly interested in consolidating the multiple specialized networks that they operate or lease from service providers onto a single protocol network. These multiple specialized networks operate on diverse networking technologies such as Systems Network Architecture (SNA), Internet Protocol (IP) or Internetwork Packet Exchange (IPX). In making consolidation one of their top priorities, companies are almost exclusively selecting IP as their protocol of choice. For the overwhelming majority of these companies that are using SNA protocols and applications, however, there remains the need to maintain the ability to access the enormous quantity of existing corporate data that resides in traditional mainframes and only accessible through SNA applications.
Internet
The Internet is a global network of computers and computers networks (the xe2x80x9cNetxe2x80x9d). The Internet connects computers that use a variety of different operating systems or languages, including UNIX, DOS, Windows, Macintosh, and others. To facilitate and allow the communication among these various systems and languages, the Internet uses a language referred to as TCP/IP (xe2x80x9cTransmission Control Protocol/Internet Protocolxe2x80x9d). TCP/IP protocol supports three basic applications on the Internet:
(1) transmitting and receiving electronic mail,
(2) logging into remote computers (the xe2x80x9cTelnetxe2x80x9d), and
(3) transferring files and programs from one computer to another (xe2x80x9cFTPxe2x80x9d or xe2x80x9cFile Transfer Protocolxe2x80x9d).
TCP/IP
The Transmission Control Protocol/Internet Protocol (TCP/IP) protocol suite is used to establish an interconnection of networks that provide universal communication services: an internetwork, or internet. Each physical network has its own technology dependent communication interface (in the form of a programming interface) that provides basic communication functions between the physical network and the user applications. The architecture of the physical networks is hidden from the user. TCP/IP also provides interconnection between different physical networks to form what appears to the user to be one large network.
TCP is a transport layer protocol providing end-to-end data transfer and is responsible for providing a reliable exchange of information between networked computer systems. Multiple applications can be supported simultaneously over one TCP connection between two computer systems.
IP is an internetwork layer protocol hiding the physical network architecture bellow it. Part of the communicating messages between computers is a routing function that ensures that messages will be correctly directed within the network to be delivered to their destination. IP provides this routing function. An IP message is called an IP datagram.
Application Level protocols are utilized in addition to TCP/IP to transfer user and application data from a computer system to a destination computer system. Examples of such Application Level protocols include File Transfer Protocol (FTP), Telnet, Gopher, Hyper Text Transfer Protocol (HTTP).
IP Router
A xe2x80x9crouterxe2x80x9d is a computer that interconnects two networks and forwards messages from one network to the other. Routers select the best transmission path between networks utilizing the IP layer of the TCP/IP protocol stack, such that any host (or computer) or workstation running TCP/IP over more than one interface could, in theory, forward messages between networks. Because IP implements basic routing functions, the term xe2x80x9cIP routerxe2x80x9d is often used. However, dedicated network hardware routers can provide more sophisticated routing functions than the minimum functions implemented in IP.
World Wide Web
With the increasing size and complexity of the Internet, tools that are often called navigators or navigation systems have been developed to help find information on the network. Navigation systems include standards such as Archie, Gopher and, most well-known, the World Wide Web (xe2x80x9cWWWxe2x80x9d or xe2x80x9cthe Webxe2x80x9d). In addition to serving as an Internet-based navigation system, the Web is also an information distribution and management system for the Internet. The Web provides an end user with a seamlessly integrated format of information, including still images, text, audio and video. A user on the Web using a graphical user interface may transparently communicate with different host computers on the system, different system applications, and different information formats for files and documents including text, sound, and graphics.
Hypermedia
The Web uses hypertext and hypermedia. Hypertext is a subset of hypermedia and refers to computer-based xe2x80x9cdocumentsxe2x80x9d in which readers move from one place to another in a document, or to another document, in a non-linear manner. To do this, the Web uses a client-server architecture. The Web servers enable the user to access hypertext and hypermedia information through the Web and the user""s computer. (The user""s computer is referred to as a client computer of the Web Server computers.) The clients send requests to the Web Servers, which react, search and respond. The Web allows client application software to request and receive hypermedia documents (including formatted text, audio, video and graphics) with hypertext link capabilities to other hypermedia documents, from a Web file server.
The Web, then, can be viewed as a collection of document files residing on Web host computers that are interconnected by hyperlinks using networking protocols, forming a virtual xe2x80x9cwebxe2x80x9d that spans the Internet.
Uniform Resource Locators
A resource of the Internet is unambiguously identified by a Uniform Resource Locator (URL), which is a pointer to a particular resource at a particular location. A URL specifies the protocol used to access a server (e.g. HTTP, FTP, . . . ), the name of the server, and the location of a file on that server.
Hyper Text Transfer Protocol
Each Web page that appears on client monitors of the Web may appear as a complex document that integrates, for example, text, images, sounds and animation. Each such page may also contain hyperlinks to other Web documents so that a user at a client computer using a mouse may click on icons and may activate hyperlink jumps to a new page (which is a graphical representation of another document file) on the same or a different Web server.
A Web server is a software program on a Web host computer that answers requests from Web clients, typically over the Internet. All Web use a language or protocol to communicate with Web clients which is called Hyper Text Transfer Protocol (xe2x80x9cHTTPxe2x80x9d). All types of data can be exchanged among Web servers and clients using this protocol, including Hyper Text Markup Language (xe2x80x9cHTMLxe2x80x9d), graphics, sound, and video. HTML describes the layout, contents and hyperlinks of the documents and pages. When browsing, Web clients: convert user specified commands into HTTP GET requests; connect to the appropriate Web server to get information; and wait for a response. The response from the server can be the requested document or an error message. After the document or an error message is returned, the connection between the Web client and the Web server is closed.
HTTP version 1.0 is a stateless protocol in which there is no continuous connection between each client and each server. A Web client using HTTP receives a response as HTML data or other data. The new HTTP version 1.1 breaks this barrier of stateless protocol by keeping the connection between the server and client alive under certain conditions.
Telnet 3270
In an IP environment, telnet technologies (TN3270) is widely utilized to transport SNA information across an IP network. This technique for SNA xe2x80x9cgreen screenxe2x80x9d workstation users employs a Client/Server approach. IBM""s xe2x80x9cHost On Demandxe2x80x9d or xe2x80x9cWebClientxe2x80x9d by CISCO are examples of client software implementations. Network Utility from IBM or CISCO router""s offerings are typical server implementations (hardware and software) . The xe2x80x9cTN3270 clientxe2x80x9d component usually runs within the customer""s workstation while the xe2x80x9cTN3270 serverxe2x80x9d component is usually placed in front of the customer""s Data Center mainframes (or sometimes directly within the mainframe itself) or within the customer""s branch offices. As illustrated in FIG. 1, IP protocols are used between a TN3270 server (102) and TN3270 clients (101), while traditional SNA protocols are used between TN3270 server (102) and target SNA applications (103). The TN3270 client usually runs on an end user workstation.
Logical Units and Physical Units
The 3270 terminal environment includes a terminal controller with terminals attached to the controller. In SNA, the terminal controller is called a PU (Physical Unit), and the terminals are called LUs (Logical Units). The PU is utilized to communicate control information to the SNA host where the SNA application is located, and the LU is utilized by the SNA application for data communication with the terminal.
Each LU and PU in an SNA network is identified by a unique name. These names are called LU names and PU names, and are utilized to manage and control the LU and PU resources within the network. The SNA characteristics of PUs and LUs are defined in configuration tables within the SNA network.
When TN3270 servers are utilized to access SNA applications, PU and LU characteristics are also defined within these TN3270 servers. When multiple LUs have the same characteristics on a TN3270 server (for instance, all LUs which provide access to the same SNA application), the definition of these LUs are usually grouped within the TN3270 servers into one configuration container called a xe2x80x9cLU poolxe2x80x9d.
The actual connection between a terminal and an SNA application is called a session. When communicating with an SNA application, a 3270 terminal actually has two sessions with the SNA host system in which the SNA application resides. One session is directly connected with the SNA application and the other session is connected directly to a VTAM (Virtual Telecommunications Access Method) software application that operates within the SNA host. VTAM provides System Services Control Point (SSCP) functions from the SNA host. The VTAM session is called the SSCP-LU session, and the session with the SNA application is called the LU-LU session (in VTAM, an application is just another Logical Unit).
Dynamic Definition of Dependent Logical Units
While LUs are usually defined in both the TN3270 server and in VTAM, Dynamic Definition of Dependent LUs (DDDLU) allows LUs to be defined only in the TN3270 server. In VTAM, one or a plurality of PUs must be defined, depending on the number of required LUs. The implementation of DDDLU also eliminates the definition and updates otherwise required by VTAM when additional LUs definition are later added. When a TN3270 extended client requests a connection to an SNA application utilizing one of the LUs defined in the TN3270 server, the TN3270 server sends a Reply/PSID command to VTAM. This commands delivers the local address of the LU and the device type information to VTAM. In response to a determination by VTAM from the PU definition that no definition for the LU currently exists, VTAM dynamically creates the required LU definition.
TN3270 Extended
The TN3270 protocol has been extended in the Request For Comments (RFCs) 2355 xe2x80x9cTN3270 Enhancementsxe2x80x9d from the Internet Engineering Task Force (IETF). This extension of the TN3270 protocol is called TN3270 Extended (or TN3270E). One of the features of TN3270E is the ability for a TN3270E client to request that it be assigned a specific LU (also referred to as device name, or resource name) within the TN3270 server.
Dispatcher System
When multiple TN3270 servers are utilized to gain access to SNA applications located within a SNA network, a dedicated device called a xe2x80x9cdispatcher systemxe2x80x9d is often utilized within the TCP/IP network for dispatching the traffic to these multiple TN3270 servers. The main goal of the dispatcher system is to balance the load across the multiple TN3270. For instance, when a very powerful TN3270 server and a smaller TN3270 server are available, more traffic should be dispatched on the very powerful TN3270 server than on the smaller one. Such dispatcher systems are either dedicated hardware devices, or software components installed on existing network devices such as IP routers.
More detailed explanations of telnet, TN3270, and Network Utility, can be found in the following publications incorporated herewith by reference:
xe2x80x9cTCP/IP Tutorial and Technical Overviewxe2x80x9d by Martin W. Murhammer, Orcun Atakan, Stefan Bretz, Larry R. Pugh, Kazunari Suzuki, David H. Wood, International Technical Support Organization, October 1998, GG24-3376-05.
xe2x80x9cInternet in a nutshellxe2x80x9d by Valerie Quercia, published by Oxe2x86x92Reilly, October 1997.
xe2x80x9cIBM 2216/Network Utility Host Channel Connectionxe2x80x9d, Erol Lengerli, Jacinta Carbonell, Thomas Grueter; IBM International Technical Support Organization, January 1999, SG24-5303-00.
xe2x80x9cIBM Network Utility Description and Configuration Scenariosxe2x80x9d, Tim Kearby, Peter Gayek, Gallus Schlegel, Imre Szabo, Zhi-Yong Zhang; IBM International Technical Support Organization, January 1999, SG24-5289-00.
xe2x80x9cInternetworking with TCP/IPxe2x80x94Volume Ixe2x80x94Principles, Protocols, and Architecturexe2x80x9d Douglas E.Comer, Second Edition, Prentice Hall 1991.
Request For Comments (RFCs) from the Internet Engineering Task Force (IETF):
RFC 1576: TN3270 Current Practices,
RFC 1646: TN3270 Extensions for LU name and Printer Selection,
RFC 1647: TN3270 Enhancements,
RFC 2355: TN3270 Enhancements.
Lack of centralized LU definitions within one or more TN3270 servers presents a problem in a TCP/IP networks. A TN3270 server provides access to SNA applications by means of sessions established across the SNA Network. The characteristics of such sessions must be configured within the TN3270 server and within the SNA Network (VTAM, for example). A TN3270 server is defined and behaves as a particular SNA LU (Logical Unit) resource for each session it supports.
A TN3270 server is configured with the characteristics (called SNA LU definition, or LU definition) of each LU defined to provide access to SNA applications. The configuration of all LU definitions within a TN3270 server is very often a time consuming operation which is typically performed manually by a network administrator.
Similarly, when multiple TN3270 servers are utilized within the TCP/IP network to access SNA applications located within a SNA network, each of the TN3270 servers is configured with the characteristics (LU Definition) of each LU defined to provide access to SNA applications. The configuration of all LU definitions within each TN3270 server is very time consuming task performed by the network administrator. Multiple TN3270 servers that provide access to the same SNA applications are often configured with similar LU definitions.
When multiple TN3270 servers are utilized within the TCP/IP network to access SNA applications within a SNA network, a dedicated device called a xe2x80x9cdispatcher systemxe2x80x9d is often utilized for dispatching the traffic on these multiple TN3270 servers. The purpose the dispatcher system is to balance the load across multiple TN3270 servers, and to provide a TN3270 service continuity in case of failure of one TN3270 server. In this context, the TN3270 servers then belong to a xe2x80x9cTN3270 server farmxe2x80x9d.
Within a TN3270 server farm in problem arises when similar LU definitions are configured on a plurality of TN3270 servers within a same TN3270 server farm. One solution to this problem is to configure every TN3270 server within the TN3270 server farm with the LU definitions. A problem with this solution is that configuring each individual TN3270 server with similar LU definitions is a repetitive and redundant operation that is very time consuming. Another problem with individually configuring each TN 3270 server with similar LU definition is that once each TN3270 server has been configured with LU definitions, updates must be implemented on each TN3270 server individually.
Individual LU definition configuration also requires that each TN3270 server must be statically configured with a LU definition for each possible session that it can support. This results in each TN3270 server being configured with a list of LUs that are reserved within the SNA Network for that TN3270 server, even if they are not utilized for a given server resulting in wasted resources. For example, for 1,000 TN3270 clients that may potentially access SNA applications through a TN3270 server during peak hours, 1000 LU definitions must be configured within this TN3270 server, and 1000 LUs are reserved within the SNA Network for this TN3270 server. If only 700 TN3270 clients actually access the TN3270 server, the remaining 300 LUs are not utilized and the associated reserved resources are wasted on both the TN3270 server and within the SNA network.
A method and system for centralizing the LU definitions for one or a plurality of TN3270 servers are disclosed herein. More particularly, a method and system for dynamically providing a Systems Network Architecture (SNA) Logical Unit (LU) definition for the establishment of a SNA session between a SNA client and a SNA application are disclosed herein. The method of the present invention includes receiving a SNA session request from a telnet 3270 client, and in response thereto, retrieving a definition of a SNA LU from a table shared by one or more telnet 3270 servers. A local table within the telnet 3270 server is dynamically updating with the retrieved SNA LU definition.
All objects, features, and advantages of the present invention will become apparent in the following detailed written description.